package com.cloudfun.campusshare.common.model.dto.kjt;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import lombok.Builder;
import lombok.Data;

import java.util.Map;

/**
 * Created by Huqin on 2020/8/4
 */
@Data
@Builder
@ApiModel("快捷通子商户结算方式变更请求DTO")
public class KjtSubMerchantChangeSettleTypeReqDTO {

    /**
     * [6,32]
     * 平台(商户)订单号，字母数字下划线，确保每笔订单唯一
     */
    @JsonProperty("out_trade_no")
    private String outTradeNo;

    /**
     * 平台用户ID，平台方分配给用户的唯一标识
     */
    @JsonProperty("partner_user_id")
    private String partnerUserId;

    /**
     * 快捷通分配给平台方子商户的会员ID
     * 也作为登录快捷通收银台的登录账号
     */
    @JsonProperty("identity_id")
    private String identityId;

    /**
     * 结算方式 1、主动提现；2、委托提现
     */
    @JsonProperty("settle_type")
    private String settleType;

    /**
     * 可不传
     * [15]
     * 委托提现起结金额 结算方式选择为2时，不可空，字段类型为数值，小数点保留2位，>=0.01的数字，单位：元，
     * 例如 当entrust_withdrawal_amount=100时，即当账户的可用余额大于或等于100时才会结算出款
     */
    @JsonProperty("entrust_withdrawal_amount")
    private String entrustWithdrawalAmount;

    /**
     * 可不传
     * <p>
     * 扩展备注，商户自定义，如需使用，请与技术支持联系
     * ACCOUNT_TYPE:资金账户类型，开通多种业务，用半角逗号连接
     * 101：个人一般户（充转提）
     * 102：个人结算户（收单业务）
     * 201：企业一般户（充转提）
     * 202：企业结算户（收单业务）
     * 企业、个体工商户支持账户类型：201、202
     * 个人商家支持账户类型：101、102
     * </p>
     * 不传默认仅开通结算户，请根据实际情况开户
     */
    @JsonProperty("extension")
    private Map<String, String> extension;

    /**
     * 可不传
     * [200]
     * 服务器异步通知地址，快捷通主动通知商户网站里指定的URL http/https路径，当订单完成后会回调商户并告知订单状态
     */
    @JsonProperty("notify_url")
    private String notifyUrl;
}
